5 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M> ** CROSSING THE RIVER **<CTRL-M><CTRL-M> CREATED BY GEOFFREY WOW HOWELL<CTRL-J>
15 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>** GO DEFINE VARS<CTRL-J>
20 GOSUB 10000: GOSUB 20000: GOSUB 30000: GOSUB 50000:A$ = "PRESS ANY KEY TO BEGIN": HTAB FN C(20): VTAB 23: PRINT A$: POKE KC,0: WAIT KY,128: HOME : POKE KC,0
30 RO% = 1:OC% = 0:MC% = 8: REM **ROOM=1, OBJECTS CARRIED=0, MAX CARRIED=2.
35 NB = 1:SAD = 1:FAD = 1: REM BULLETS, SNAKE ALIVE OR DEAD, FROG ALIVE OR DEAD
40 PRINT DE$(RO%)
50 FOR I = 1 TO NN%: IF OB%(I) = RO% THEN PRINT : PRINT OB$(I)
60 NEXT I
70 REM ** DIVIDE INTO NOUN & VERB
73 PRINT
75 X = FRE(0): INPUT ">";IN$: IF IN$ = "" THEN 75
80 FOR I = 1 TO LEN(IN$): IF MID$ (IN$,I,1) < >" " THEN NEXT :
90 V$ = LEFT$(IN$,I -1):N$ = MID$ (IN$,I +1)
95 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>** DECODE NOUN & VERB<CTRL-J>
100 FOR I = 1 TO NV%: IF V$ < >V$(I) THEN NEXT : PRINT "A GHOSTLY VOICE SAYS, 'NO "V$"'N": PRINT "ALLOWED ON THE FAIRGROUNDS.'": GOTO 70
110 VE% = I:I = -1: IF N$ < >"" THEN FOR I = 1 TO NN%: IF N$ < >N$(I) THEN NEXT : PRINT "..."N$"?": GOTO 70
120 NO% = I
125 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** EXECUTE COMMAND<CTRL-J>
130 ON VE% GOSUB 150,210,230,260,350,390,440,440,440,440,440,440,350,450,450,500,600
140 GOTO 70
145 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'GET' COMMAND<CTRL-J>
150 IF NO% = -1 THEN PRINT "YEAH, SO, GET WHAT?": RETURN
155 IF OB%(NO%) < >RO% THEN PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN
160 IF NO% = 1 THEN PRINT "YOU AREN'T STRONG ENOUGH!": RETURN
161 IF NO% = 3 AND SAD = 1 THEN PRINT : PRINT : PRINT "THE SNAKE SINKS HIS FANGS INTO YOUR WRIST AS YOU ATTEMPT TO GRAB HIM. YOU ARE POISONED AND ABOUT TO DIE.": PRINT : PRINT : PRINT " GAME OVER.. YOU LOSE.": END
165 IF NO% = 2 THEN PRINT "THE FROG IS TOO QUICK TO CATCH.": RETURN
170 IF OB%(NO%) = -1 THEN PRINT "SORRY, YOU ALREADY HAVE IT.": RETURN
180 IF OB%(NO%) < >RO% THEN PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN
190 IF OC% = MC% THEN PRINT "YOU DON'T HAVE THE RESOURCES TO CARRY ALL THIS.": RETURN
225 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'GO' COMMAND<CTRL-J>
230 D = NO% -4: IF D <0 OR D >5 THEN PRINT "PLEASE GIVE A GENERAL DIRECTION.": RETURN
240 IF R%(RO%,D) = 0 THEN PRINT "CAN'T GO THAT WAY!": RETURN
250 RO% = R%(RO%,D): POP : GOTO 40
255 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'SHOOT' COMMAND<CTRL-J>
258 IF OB%(5) < > -1 THEN PRINT "YOU DON'T HAVE THE GUN.": RETURN
260 IF NO% = -1 THEN PRINT "SHOOT... WHAT?": RETURN
265 IF NB = 0 THEN PRINT "< CLICK >. SORRY, NO AMMO.": RETURN
270 IF NO% < >3 AND NO% < >2 THEN PRINT "CONSIDER IT ALREADY DEAD.": RETURN
280 IF NO% = 3 THEN PRINT "THE SNAKE THRASHES AROUND FOR A WHILE BEFORE FINALLY DYING.":SAD = 0:NB = 0: RETURN
285 IF NO% = 2 THEN PRINT "THE FROG IS TOO QUICK TO BE SHOT. YOU ARE NOW OUT OF AMMO.":FAD = 1:NB = 0: RETURN
290 IF RO% = 1 THEN PRINT " WOW, REAL FUN.": RETURN
310 PRINT " THE BOY LOOKS SUDDENLY RELIEVED TO HAVE A FRIEND. HE REACHES INTO HIS POCKET, PULLS OUT $100,000 AND GIVES IT TO YOU WITH A LAUGH. YOU FINALLY HAVE ENOUGH MONEY TO GET YOUR POOR MOTHER"
320 PRINT "THAT TERRIBLE GALLSTONE OPERATION THAT SHE SO BADLY NEEDS. CONGRATULATIONS AND GOODBYE!"
340 END
345 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'LOOK' COMMAND<CTRL-J>
350 IF NO% = -1 THEN POP : GOTO 40
352 IF NO% >5 THEN PRINT "YOU CAN ONLY SEE SO FAR.": RETURN
353 IF RO% < >OB%(NO%) AND OB%(NO%) < > -1 THEN PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN
354 IF NO% = 3 AND SAD = 1 THEN PRINT "THE SNAKE IS LONG AND APPEARS HUNGRY.": RETURN
355 IF NO% = 3 AND SAD = 0 THEN PRINT "THE SNAKE IS LONG AND APPEARS DEAD.": RETURN
356 IF NO% = 4 THEN PRINT "THE VINE APPEARS TO BE STRONG, LONG, AND FIBROUS.": RETURN
358 IF NO% = 5 AND NB = 1 THEN PRINT "THE GUN HAS ONE BULLET IN IT.": RETURN
359 IF NO% = 5 AND NB = 0 THEN PRINT "THE GUN IS EMPTY.": RETURN
360 IF NO% = 1 AND OB%(4) < > -1 THEN PRINT " A LONG VINE IS WRAPPED AROUND THE BASE OF THE OLD, GNARLED TREE.":OB%(4) = 1: RETURN
362 IF NO% = 1 THEN PRINT " THE TREE IS OLD AND GNARLED.": RETURN
370 IF NO% = 2 AND FAD = 1 THEN PRINT " THE FROG LOOKS OLD AND, STRANGELY ENOUGH, INTELLIGENT.": RETURN
371 IF NO% = 2 AND FAD = 0 THEN PRINT "IT'S... IT'S DEAD!": RETURN
385 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'TALK' COMMAND<CTRL-J>
390 IF NO% = -1 THEN PRINT "TALK TO WHAT?": RETURN
395 IF RO% < >OB%(NO%) AND OB%(NO%) < > -1 THEN PRINT "NOTHING LIKE THAT AROUND HERE...": RETURN
400 IF NO% < >2 AND NO% < >3 THEN PRINT "IT DOESN'T SEEM TO CARE ABOUT WHAT YOU HAVE TO SAY.": RETURN
410 IF NO% = 2 THEN PRINT "HE LOOKS UP AT YOU, GROGGILY, AND SAYS, 'BRING ME THE SNAKE.'": RETURN
420 IF NO% = 3 THEN PRINT "THE SNAKE JUST LOOKS AT YOU HUNGRILY.": RETURN
435 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** SINGLE LETTTER COMMAND<CTRL-J>
440 NO% = VE% -3: GOTO 230
445 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** 'I' COMMAND<CTRL-J>
450 PRINT "YOU ARE CARRYING:": PRINT :I0 = 0
460 FOR I = 1 TO NN%: IF OB%(I) = -1 THEN HTAB 5: PRINT N$(I):I0 = 1
470 NEXT : IF I0 = 0 THEN PRINT "NOTHING."
480 RETURN
500 REM *** 'GIVE' COMMAND
505 IF NO% = -1 THEN PRINT "GIVE...WHAT?": RETURN
507 IF OB%(NO%) < > -1 THEN PRINT "YOU DON'T HAVE IT.": RETURN
510 IF RO% < >2 AND RO% < >4 THEN PRINT "TO WHO?": RETURN
520 IF RO% = 4 AND SAD = 1 THEN PRINT "HE SEEMS TO PREFER YOU.": RETURN
521 IF RO% = 4 THEN PRINT "HE'S DEAD.": RETURN
524 IF FAD = 0 THEN PRINT "HE'S DEAD.": RETURN
525 IF NO% < >3 THEN PRINT "HE DOESN'T WANT IT AT ALL.": RETURN
530 IF RO% = 2 THEN PRINT " THE FROG SHOOTS HIS TONGUE OUT AND GRABS THE SNAKE RIGHT OUT OF YOUR HAND. HE THEN EFFECTIVELY SWALLOWS IT. <BELCH.>":OB%(3) = 0: RETURN
600 REM *** 'SWIM' COMMAND
610 IF NO% < > -1 THEN PRINT "WHAT THE...?": RETURN
615 IF RO% < >2 AND RO% < >3 THEN PRINT "CAN'T SWIM HERE.": RETURN
620 IF RO% = 2 AND OB%(3) < >0 THEN PRINT "THE FROG WON'T LET YOU.": RETURN
630 IF RO% = 2 THEN PRINT "THE WATER IS KIND OF COLD, BUT YOU ENJOY PRACTICING HOW TO SWIM.":SK = SK +5: RETURN
640 IF RO% = 3 AND SK <5 THEN PRINT : PRINT : PRINT "YOUR SWIMMING CAPABILITIES AREN'T WHAT THEY USED TO BE: HALF WAY ACROSS THE RAPID RIVER YOU DROWN.": PRINT : PRINT : PRINT " GAME OVER.. YOU LOSE.": END
650 PRINT : PRINT : PRINT " YOU SWIM ACROSS THE RIVER SAFELY AND CAN SAFELY CONTINUE YOUR JOURNEY TO WHEREVER YOU WERE GOING."
660 PRINT : PRINT : PRINT " BE HAPPY...YOU WON!": END
9999 END
10000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** ROOM DATA<CTRL-J>
10010 DATA " YOU ARE IN A SECTION OF THE LUSH RAIN FOREST.",3,2,0,0,0,0
10015 DATA " THE JUNGLE THINS OUT HERE TO FORM A CLEARING. THE CENTER OF THE CLEARING IS OCCUPIED BY A CLEAR, SHALLOW POND.",4,0,0,1,0,0
10020 DATA " YOU ARE STANDING ON THE SOUTHERN BANK OF A SWIFT FLOWING RIVER. AN EXTREMELY RICKETY WOODEN BRIDGE CROSSES THE RIVER,BUT I WOULDN'T TRUST THAT THING EVEN IF IT WERE RE-ENFORCED.",0,4,1,0,0,0
10025 DATA " YOU ARE IN A VERY DENSE SECTION OF THE RAIN FOREST. IT IS DARK AND DANK AROUND HERE: KIND OF EVIL. YOU SHIVER, EVEN THOUGH IT ISN'T COLD. A STRANGE FEELING OF DREAD GRIPS YOU.",0,0,2,3,0,0
19990 NR% = 4: DIM DE$(NR%),R%(NR%,5)
19991 FOR I = 1 TO NR%: READ I$:DE$(I) = I$: FOR J = 0 TO 5: READ R%(I,J): NEXT J: NEXT I
19999 RETURN
20000 REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H> <CTRL-M>*** VERB DATA<CTRL-J>